home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr31
/
ifl150.zip
/
IFL.DOC
< prev
next >
Wrap
Text File
|
1993-05-01
|
18KB
|
443 lines
Interior File Listing Utility 11/26/89 Version 1.50
IFL
Interior File Listing Utility
Copyright 1989 by Martin Pollard. All rights reserved.
This program may be freely copied and distributed, provided it is for
personal, non-profit use only. I am asking for no monetary donations;
thus, this program is truly Freeware. I only ask that, if distributed,
the program and documentation not be altered in any way. Your
cooperation with this simple request will be an incentive for newer and
better versions of this program.
Although I have tried to make this program as bug-free as possible, I
will not be liable for any damages caused, either directly or
indirectly, by the use of this program. This program is distributed
without warranty, either expressed or implied.
NOTE: Throughout this documentation, the term "archive file" is used
to describe any file that contains multiple files. Likewise,
the term "archiving program" is used to describe any program
that creates and/or maintains an archive file.
If you encounter any problems while using the program, or if you have
any suggestions to improve the operation of IFL, you may contact me at
any of these bulletin board systems (leave messages to "Silicon Wizard",
my handle):
The Pointe BBS Warp Speed BBS
313-885-1779 313-544-0405
300/1200/2400 baud 300/1200/2400 baud
24 hours 8pm to 8am nightly
or drop me a line through the mail to 27825 Hoover, Apt. 4, Warren, MI,
48093. Please include a self-addressed stamped envelope to ensure a
speedy reply. Letters that do not include an SASE will not necessarily
be ignored; they just won't be replied to as quickly!
-- 1 --
Interior File Listing Utility 11/26/89 Version 1.50
A SHORT HISTORY OF ARCHIVING PROGRAMS
What exactly is an archiving program? It is a program that takes a
group of files and stores them into one single file, called an archive
file. Such an archiving program may or may not compress the files
before storing them in the archive file. (Compression means to read the
file, perform mathematical and probability calculations on the data --
which can be either text or binary data -- and write a new file
containing the compressed information.)
The first of these kinds of programs originated under the CP/M operating
system. They were LU, SQ and USQ, which stood for Library Utility,
Squeeze, and Unsqueeze. LU was a very primitive archiving program: It
simply took files and placed them into an archive file (LU called them
"library" files), with no compression performed on the data at all. The
SQ program was usually used to compress files before they were stored by
LU. (SQ used a method call Huffman encoding to compress the
information. USQ, as you may have guessed, simply reversed the
process.) LU-created files can usually be identified by the ".LBR"
extension (although this was not required; the .LBR extension was
usually used to maintain consistency) or the ".LQR" extension (if the
library file was squeezed AFTER files were stored in it). For years,
the combination of LU, SQ and USQ -- and its derivatives -- were the
best thing since sliced bread.
When the IBM PC appeared, these programs were, naturally, ported over to
the MS-DOS operating system. However, users quickly felt the
limitations of LU, SQ and USQ. These programs were originally written
for slow 8-bit 8080- and Z80-based systems with a maximum of 64K of
memory; the 16-bit 8088-based IBM PC was faster by comparison, and could
access up to 640K of memory. Users figured there HAD to be a better
way.
System Enhancement Associates (SEA) came up with the better mousetrap
with ARC, which essentially combined the functions of LU, SQ, and USQ by
compressing files before storing them in the archive file. Even here,
ARC took a different approach, replacing LU's fixed directory (which was
at the beginning of each library file) with a "distributive" directory
(files stored in the archive are preceded by a "header" describing the
file in detail). Over the years, ARC has been improved with more user
options and more advanced compression methods (like Dynamic Lempel-Zev-
Welch, or "Crunching"), and has been ported to other operating systems
(such as UNIX and VAX).
Unfortunately, ARC had the big problem that plagued the early CP/M
programs: It was very slow, especially on 8088-based systems. To solve
this, Phil Katz of PKWARE created PKARC, an ARC "clone" that was so fast
that it began to surpass ARC in popularity. Later enhancements to PKARC
also included a Dynamic LZW variant called "Squashing". The combination
of all these features catapulted PKARC right to the "top of the charts,"
as it were. (PKARC was later renamed to PKPAK.)
SEA filed a lawsuit against PKWARE in 1988, charging unlawful use of
ARC's source code and unfair business practices. (The details of the
-- 2 --
Interior File Listing Utility 11/26/89 Version 1.50
lawsuit have been discussed elsewhere, so I will not go into them here.)
The out-of-court settlement between Phil Katz and SEA ended production
of PKARC; unfortunately, it also alienated many users and bulletin board
system (BBS) operators. (The feeling was that SEA was trying to "win in
the courtroom" because it was losing to PKARC in the marketplace.) That
action, plus the rapidly-growing shift to PKZIP and LHARC, has probably
spelled the end of the ARC format, despite SEA's release of an improved
version of ARC.
In the midst of the scuffle between SEA and PKWARE, NoGate Consulting
released its own ARC-compatible program called PAK. PAK uses an even
more advanced Dynamic LZW variant dubbed "Crushing" (later versions
introduced another compression method, "Distilling", which gives PKZIP
and LHARC a run for their money). PAK has created a sizable following
of users, but has not caught on for two reasons: It is slower than
PKARC, and the new compression methods, plus the various "enhancements"
to the ARC format, make it incompatible with programs that process ARC
files.
After the lawsuit that ended production of PKARC, PKWARE introduced a
totally new compression program, PKZIP. PKZIP, with its enhanced file
format (including a second directory to assist in recovery of corrupt
archives) and enhanced compression methods (tighter than almost all
current archiving programs), has gained a large following. Animosity
towards SEA, and the widespread popularity of PKARC, have also helped
tremendously.
Along with the main contenders, three other archiving programs exist
that have each gained their own following of users: DWC by Dean W.
Cooper, LHARC by Haruyasu Yoshizaki, and ZOO by Rahul Dhesi. DWC was
introduced around the time of ARC's period of popularity, but due to an
incompatible file format, it was never accepted into the mainstream.
LHARC is an "import" from Japan (introduced shortly after PKZIP) which
uses a high-performance compression method that occasionally beats out
PKZIP for compression size. ZOO originated on UNIX and VAX systems, and
has been ported to other non-MS-DOS environments as well. It is the
program of choice for users who need to move files between these various
environments.
It can become highly confusing, to say the least, to work with all these
different formats. This can be especially nerve-wracking to BBS users
and operators, since BBSes may contain files in any (or ALL!) of these
formats. What is needed is a single program to read them all. That's
where IFL comes in.
IFL TO THE RESCUE!
IFL stands for Interior File List, and that's exactly what it does: It
produces a listing of the contents of an archive file. The syntax for
using IFL is very straightforward:
IFL [options] filename
-- 3 --
Interior File Listing Utility 11/26/89 Version 1.50
where "filename" is the name of the archive file you wish to view. If
you do not specify an extension with the filename, IFL will
automatically cycle through all the extensions it supports (appending
them one at a time to the filename) until it finds the file. At this
time, supported extensions include ARC, DWC, LZH, PAK, ZIP and ZOO. The
filename may be preceded by a drive and/or a pathname. If no filename
is specified, a help screen is displayed.
You may specify various options on the command line to alter the
operation of IFL. These options include:
-B Normal output from IFL is a color display using direct
screen writes (accessing the video memory directly).
This method works on 100% IBM compatible systems only.
If you are using a system that is not 100% IBM compatible
(such as early Sanyo PCs or the Tandy 2000), use this
option to force IFL to output text using the BIOS, which
ensures total compatibility but is slower than direct
screen writes.
-P When a full screen of text has been displayed, IFL pauses
and waits for the user to press a key to continue. Use
this option to override this feature and provide a
continuous listing.
-R This option can be used to force IFL to output text to
the standard output device. Using this option, the
output can be rerouted to another device or a file using
the ">" redirection symbol (refer to your MS-DOS manual
if you are unfamiliar with redirection). In this mode,
color is suppressed and the listing is continuous (no
pause after a full screen). This mode is excellent for
implementing IFL in a BBS environment.
The output from IFL is in the form of a columnar table. The following
information is displayed:
Length The length of the file when uncompressed, in bytes.
Size Now The length of the compressed file, in bytes. This is the
number of bytes the file actually take up inside the
archive file.
% The percentage of space saved by compression.
Method The compression method used to store the file. Valid
methods are listed elsewhere in this manual.
Date and The date and time of the last modification of the file.
Time This is usually not the date and time in which the file
was stored.
-- 4 --
Interior File Listing Utility 11/26/89 Version 1.50
Filename The name of the stored file. Note that files in LZH,
ZIP and ZOO archives may contain a pathname (indicated by
forward slashes "/").
Below the main listing will be displayed total values for all the files
displayed. Shown are totals for length, size now, ratio (overall), and
number of files. Note that these totals do NOT take into account the
overhead for file headers, the central directory of ZIP archives, or the
extra information found in "extended" ARC-format archives (such as those
created by the latest versions of ARC, PKPAK and PAK).
UNSUPPORTED FEATURES
* Self-extracting archives.
* Extra information stored in the ARC format. This includes
directories in ARC 6.0 archives, pathnames and comments in PAK
archives, and comments in PKARC archives. The ARC format was never
designed for this extended information, and since each of the above
programs uses a different method of storing its information, it
becomes a real pain to try to support all of it. Therefore, IFL
supports *NONE* of it.
* Comments stored in PKZIP archives. The ability to display the main
ZIP comment may be added in the future.
COMPRESSION METHODS
Below is a list of all the known compression methods that IFL supports,
along with the archive formats that use them. A detailed explanation of
each compression method is beyond the scope of this manual.
Unknown! An unknown compression method was encountered. (ARC,
DWC, LZH, PAK, ZIP, ZOO)
--- The file is not compressed. (ARC, DWC, LZH, PAK, ZIP,
ZOO)
crunched The file is compressed using LZW compression (fixed 12-
bit). (ARC)
Crunched The file is compressed using Dynamic LZW compression
(code size from 9 to 12 bits) with repeat-byte
compression and adaptive reset. (ARC, DWC, PAK, ZOO)
Crushed The file is compressed using Dynamic LZW compression
(code size from 2 to 13 bits) with partial adaptive
reset. (PAK)
-- 5 --
Interior File Listing Utility 11/26/89 Version 1.50
Directory This is not a compression method, but an indicator of a
subdirectory stored in an ARC 6.0 archive (which is no
longer supported by IFL). (ARC)
Distilled The file is compressed using Huffman/sliding window
compression. (PAK)
Frozen The file is compressed using a hybrid of Dynamic LZW and
Huffman compression. (LZH)
Imploded The file is compressed using Shannon-Fano tree
compression. (ZIP)
Packed The file is compressed using repeat-byte compression.
(ARC, PAK)
Reduced # The file is compressed using probabilistic and repeat-
byte compression. The "#" indicates the compression
level (1-4). (ZIP)
Shrunk The file is compressed using Dynamic LZW compression
(code size of 9 to 13 bits) with partial adaptive reset.
(ZIP)
Squashed The file is compressed using Dynamic LZW compression
(code size of 9 to 13 bits) with adaptive reset. (ARC,
PAK)
Squeezed The file is compressed using Huffman encoding. (ARC,
PAK)
ERROR MESSAGES
Listed below are all the error messages produced by IFL. If you receive
an error while using IFL, check this list for the probable cause.
"Archive format not supported"
The specified file is not in a format that IFL can process. Either
the file was created with an unsupported archiving program, or the
file is a self-extracting archive (which IFL does not support).
"Can't access file 'filename'"
IFL could not, for some reason, access the specified file. The
file may not exist on the disk, or some other error may be
preventing IFL from accessing the file.
"Can't read archive file"
IFL encountered an error while reading the archive file. (Pretty
straightforward, eh?!)
-- 6 --
Interior File Listing Utility 11/26/89 Version 1.50
"Invalid ARC header ID"
"Invalid LZH header ID"
"Invalid ZIP header ID"
"Invalid ZOO header ID"
Each entry in an archive file is preceded by a header that
identifies the file, and includes such information as the filename,
the compressed and uncompressed length, the date and time, etc. If
this header is not in the place that IFL expects it, or if the
header contains invalid information, this error message is
displayed.
-- 7 --